home *** CD-ROM | disk | FTP | other *** search
/ The Sunday Times: The Month 2004 August / The Sunday Times - The Month 2004-08.iso / pc / engine / modules / musts.swf / scripts / frame_1 / DoAction.as
Encoding:
Text File  |  2004-06-24  |  5.2 KB  |  212 lines

  1. function loadImage(mc, node, extrapath)
  2. {
  3.    var _loc3_ = extrapath;
  4.    if(_loc3_ == null)
  5.    {
  6.       _loc3_ = "";
  7.    }
  8.    var strDefaultPath = Tardis.ASSETS_FOLDER + "images/" + Tardis.ActiveSection.id + "/";
  9.    var _loc1_ = node.firstChild.nodeValue;
  10.    var _loc2_ = node.attributes.path;
  11.    if(_loc2_ != null)
  12.    {
  13.       _loc1_ = _loc2_ + _loc1_;
  14.    }
  15.    else
  16.    {
  17.       _loc1_ = strDefaultPath + _loc3_ + _loc1_;
  18.    }
  19.    if(strPathPrefix == null)
  20.    {
  21.       strPathPrefix = "";
  22.    }
  23.    mc.loadMovie(strPathPrefix + _loc1_);
  24. }
  25. function addLink(mc)
  26. {
  27.    Links[mc.link] = mc;
  28. }
  29. function getMCfromLink(Item)
  30. {
  31.    var _loc1_ = Item;
  32.    if(Links[_loc1_] == null)
  33.    {
  34.       var _loc2_ = [];
  35.       while(_loc1_ != sideMenu.ItemHome)
  36.       {
  37.          _loc2_.unshift(_loc1_._name.split("_").pop());
  38.          _loc1_ = _loc1_._parent._parent;
  39.       }
  40.       var _loc3_ = _loc2_.join("/");
  41.       Links[_loc1_] = Links[_loc3_];
  42.    }
  43.    return Links[_loc1_];
  44. }
  45. function removeLinkListener()
  46. {
  47.    Tardis.sideMenu.EB.removeListener(this);
  48. }
  49. function init()
  50. {
  51.    build();
  52. }
  53. function build()
  54. {
  55.    var strID = Tardis.ActiveSection.id;
  56.    var Colors = Tardis.Colors;
  57.    strSECTION_COLOR = Colors.getString(strID);
  58.    strSECTION_COLOR50 = Colors.getString(strID + "50");
  59.    SECTION_COLOR = Colors.getHex(strID);
  60.    SECTION_COLOR50 = Colors.getHex(strID + "50");
  61.    DEFAULT_COLOR = Colors.getHex("default");
  62.    strDEFAULT_COLOR = Colors.getString("default");
  63.    DEFAULT_COLOR50 = Colors.getHex("default50");
  64.    ndExtras = nodeData;
  65.    LENGTH_TO_TEST = ndExtras.childNodes.length;
  66.    COUNTER = 0;
  67.    countComplete = false;
  68.    IMAGE_POS_1 = 0;
  69.    var _loc3_ = undefined;
  70.    var _loc2_ = 0;
  71.    while(_loc2_ < LENGTH_TO_TEST)
  72.    {
  73.       CONTENT_POS = 0;
  74.       _loc3_ = ndExtras.childNodes[_loc2_];
  75.       var _loc1_ = this.attachMovie("tvListingMC","mc_t_" + _loc2_,++depth);
  76.       _loc1_.positioned = false;
  77.       _loc1_.col = _loc3_.attributes.col;
  78.       _loc1_.link = _loc3_.attributes.link;
  79.       if(_loc3_.byName("title").getText() != null)
  80.       {
  81.          var strTitle = "<FONT COLOR=\"" + strSECTION_COLOR50 + "\">" + _loc3_.byName("title").getText() + " </FONT>";
  82.          _loc1_.titleFF.htmlText = strTitle;
  83.          _loc1_.titleFF.resize();
  84.          _loc1_.titleFF._y = CONTENT_POS;
  85.          CONTENT_POS += _loc1_.titleFF._height + 2;
  86.       }
  87.       ndImage = _loc3_.byName("image");
  88.       if(ndImage.getText() != null)
  89.       {
  90.          loadImage(_loc1_.mc_img_0,ndImage,IMAGE_PATH);
  91.          if(_loc2_ != 0)
  92.          {
  93.             if(CONTENT_POS < IMAGE_POS_1)
  94.             {
  95.                _loc1_.mc_img_0._y = IMAGE_POS_1;
  96.             }
  97.             else if(IMAGE_POS_1 < CONTENT_POS)
  98.             {
  99.                mc_t_0.mc_img_0._y = CONTENT_POS;
  100.                _loc1_.mc_img_0._y = CONTENT_POS;
  101.             }
  102.             else
  103.             {
  104.                _loc1_.mc_img_0._y = CONTENT_POS;
  105.             }
  106.          }
  107.          else
  108.          {
  109.             IMAGE_POS_1 = CONTENT_POS;
  110.             _loc1_.mc_img_0._y = CONTENT_POS;
  111.          }
  112.          this["intervalID" + _loc2_] = setInterval(this,"checkLoad",100,_loc1_,_loc2_);
  113.       }
  114.       else
  115.       {
  116.          _loc1_.mc_img_0._height = 0;
  117.          _loc1_.mc_img_0._y = 0;
  118.          _loc1_.title2FF._height = 0;
  119.          _loc1_.title2FF._y = 0;
  120.          COUNTER++;
  121.       }
  122.       _loc2_ = _loc2_ + 1;
  123.    }
  124.    counterID = setInterval(checkCounter,100);
  125.    onComplete();
  126. }
  127. function checkCounter()
  128. {
  129.    if(COUNTER == LENGTH_TO_TEST)
  130.    {
  131.       if(!countComplete)
  132.       {
  133.          countComplete = true;
  134.          positionElements();
  135.          clearInterval(counterID);
  136.       }
  137.    }
  138. }
  139. function checkLoad(mc, num)
  140. {
  141.    var _loc1_ = mc;
  142.    if(_loc1_.mc_img_0._height > 0)
  143.    {
  144.       if(!_loc1_.positioned)
  145.       {
  146.          _loc1_.positioned = true;
  147.          COUNTER++;
  148.          clearInterval(this["intervalID" + num]);
  149.       }
  150.    }
  151. }
  152. function positionElements(mc)
  153. {
  154.    positionFF.htmlText = POSI;
  155.    var ndExtra;
  156.    var n = 0;
  157.    while(n < LENGTH_TO_TEST)
  158.    {
  159.       var objClip = eval("mc_t_" + n);
  160.       objClip.btn._height = objClip._height;
  161.       objClip._x = eval("COLPOS_" + objClip.col);
  162.       objClip._y = eval("TEXTPOS_" + objClip.col);
  163.       this["TEXTPOS_" + objClip.col] += objClip._height - 3;
  164.       n++;
  165.    }
  166.    _visible = true;
  167. }
  168. function txtOver(mc)
  169. {
  170.    Tardis.sideMenu.doOver(mc.link);
  171. }
  172. function txtOut(mc)
  173. {
  174.    Tardis.sideMenu.doOut(mc.link);
  175. }
  176. function doOver(nm)
  177. {
  178.    var mc = eval("mc_t_" + nm);
  179.    mc.titleFF.textColor = SECTION_COLOR;
  180.    _parent.preview.doOver(nm);
  181. }
  182. function doOut(nm)
  183. {
  184.    var mc = eval("mc_t_" + nm);
  185.    mc.titleFF.textColor = SECTION_COLOR50;
  186.    _parent.preview.doOut(nm);
  187. }
  188. Links = {};
  189. Tardis.sideMenu.EB.addListener(this);
  190. stop();
  191. _visible = false;
  192. TEXTPOS_1 = 5;
  193. TEXTPOS_2 = 5;
  194. COLPOS_1 = 8;
  195. COLPOS_2 = 188;
  196. CONTENT_POS = 0;
  197. objpos = 0;
  198. onReady();
  199. this.onUnload = function()
  200. {
  201.    var _loc2_ = this;
  202.    clearInterval(counterID);
  203.    var _loc1_ = 0;
  204.    while(_loc1_ < LENGTH_TO_TEST)
  205.    {
  206.       clearInterval(_loc2_["intervalID" + _loc1_]);
  207.       _loc1_ = _loc1_ + 1;
  208.    }
  209.    removeLinkListener();
  210.    _loc2_.onUnload = null;
  211. };
  212.